// 自动生成模板PmsSpuInfo
package biz

import (
	"time"

	"github.com/go-kratos/kratos/v2/log"
)

// pmsSpuInfo表 结构体  PmsSpuInfo
type PmsSpuInfo struct {
	Id             *int       `json:"id" form:"id" gorm:"primarykey;comment:商品id;column:id;size:19;"`                               //商品id
	SpuName        *string    `json:"spuName" form:"spuName" gorm:"comment:商品名称;column:spu_name;size:200;"`                         //商品名称
	SpuDescription *string    `json:"spuDescription" form:"spuDescription" gorm:"comment:商品描述;column:spu_description;size:1000;"`   //商品描述
	CatalogId      *int       `json:"catalogId" form:"catalogId" gorm:"comment:所属分类id;column:catalog_id;size:19;"`                  //所属分类id
	BrandId        *int       `json:"brandId" form:"brandId" gorm:"comment:品牌id;column:brand_id;size:19;"`                          //品牌id
	Weight         *float64   `json:"weight" form:"weight" gorm:"column:weight;size:18;"`                                           //weight字段
	PublishStatus  *bool      `json:"publishStatus" form:"publishStatus" gorm:"comment:上架状态[0 - 下架，1 - 上架];column:publish_status;"` //上架状态[0 - 下架，1 - 上架]
	CreateTime     *time.Time `json:"createTime" form:"createTime" gorm:"column:create_time;"`                                      //createTime字段
	UpdateTime     *time.Time `json:"updateTime" form:"updateTime" gorm:"column:update_time;"`                                      //updateTime字段
}

// TableName pmsSpuInfo表 PmsSpuInfo自定义表名 pms_spu_info
func (PmsSpuInfo) TableName() string {
	return "pms_spu_info"
}

type PmsSpuInfoRepo interface {
}

type PmsSpuInfoUsecase struct {
	repo PmsSpuInfoRepo
	log  *log.Helper
}

func NewPmsSpuInfoUsecase(repo GreeterRepo, logger log.Logger) *PmsSpuInfoUsecase {
	return &PmsSpuInfoUsecase{repo: repo, log: log.NewHelper(logger)}
}
